
package com.jf.cloud.user.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 用户等级记录DTO
 *
 * @author zz
 * @date 2021-05-14 11:04:52
 */
public class UserLevelLogDTO{
    private static final long serialVersionUID = 1L;

    @Schema(description = "等级记录表" )
    private Long levelLogId;

    @Schema(description = "用户id" )
    private String userId;

    @Schema(description = "用户名称" )
    private String nickName;

    @Schema(description = "手机号码" )
    private String phone;

    @Schema(description = "变更类型 -1降级 0不变 1升级" )
    private Integer levelIoType;

    @Schema(description = "等级变更原因1.成长值不足 2.成长值足够 3.购买会员 4.续费会员 5.会员到期" )
    private Integer levelChangeReason;

    @Schema(description = "变更之前等级" )
    private Integer beforeLevel;

    @Schema(description = "变更之前的等级类型  0:普通会员 1:付费会员" )
    private Integer beforeLevelType;

    @Schema(description = "变更之后的等级" )
    private Integer afterLevel;

    @Schema(description = "变更之后的等级类型 0:普通会员 1:付费会员" )
    private Integer afterLevelType;

    @Schema(description = "支付单号" )
    private Long payId;

    @Schema(description = "是否支付1已支付0未支付" )
    private Integer payType;

    @Schema(description = "是否支付1已支付0未支付" )
    private Integer isPayed;

    @Schema(description = "支付金额" )
    private Long payAmount;

    @Schema(description = "升级时间" )
    private Date createTime;

    @Schema(description = "起始时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createStartTime;

    @Schema(description = "结束时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createEndTime;

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Date getCreateStartTime() {
        return createStartTime;
    }

    public void setCreateStartTime(Date createStartTime) {
        this.createStartTime = createStartTime;
    }

    public Date getCreateEndTime() {
        return createEndTime;
    }

    public void setCreateEndTime(Date createEndTime) {
        this.createEndTime = createEndTime;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getLevelLogId() {
        return levelLogId;
    }

    public void setLevelLogId(Long levelLogId) {
        this.levelLogId = levelLogId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Integer getLevelIoType() {
        return levelIoType;
    }

    public void setLevelIoType(Integer levelIoType) {
        this.levelIoType = levelIoType;
    }

    public Integer getLevelChangeReason() {
        return levelChangeReason;
    }

    public void setLevelChangeReason(Integer levelChangeReason) {
        this.levelChangeReason = levelChangeReason;
    }

    public Integer getBeforeLevel() {
        return beforeLevel;
    }

    public void setBeforeLevel(Integer beforeLevel) {
        this.beforeLevel = beforeLevel;
    }

    public Integer getBeforeLevelType() {
        return beforeLevelType;
    }

    public void setBeforeLevelType(Integer beforeLevelType) {
        this.beforeLevelType = beforeLevelType;
    }

    public Integer getAfterLevel() {
        return afterLevel;
    }

    public void setAfterLevel(Integer afterLevel) {
        this.afterLevel = afterLevel;
    }

    public Integer getAfterLevelType() {
        return afterLevelType;
    }

    public void setAfterLevelType(Integer afterLevelType) {
        this.afterLevelType = afterLevelType;
    }

    public Long getPayId() {
        return payId;
    }

    public void setPayId(Long payId) {
        this.payId = payId;
    }

    public Integer getIsPayed() {
        return isPayed;
    }

    public void setIsPayed(Integer isPayed) {
        this.isPayed = isPayed;
    }

    public Long getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Long payAmount) {
        this.payAmount = payAmount;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    @Override
    public String toString() {
        return "UserLevelLogDTO{" +
                "levelLogId=" + levelLogId +
                ",userId=" + userId +
                ",levelIoType=" + levelIoType +
                ",levelChangeReason=" + levelChangeReason +
                ",beforeLevel=" + beforeLevel +
                ",beforeLevelType=" + beforeLevelType +
                ",afterLevel=" + afterLevel +
                ",afterLevelType=" + afterLevelType +
                ",payId=" + payId +
                ",isPayed=" + isPayed +
                ",payAmount=" + payAmount +
                '}';
    }
}
